package com.cleaningcloud.cld.service;

import com.cleaningcloud.cld.domain.dto.MaterialStatisticsDto;
import com.cleaningcloud.cld.domain.excelExport.StockStatisticsExport;

import java.util.List;
import java.util.Map;

public interface IMaterialStatisticsService {

    /**
     * 物资头部统计
     *
     * @return
     */
    Map<String, Object> materialHeadStatistics();

    /**
     * 项目统计
     *
     * @param materialStatisticsDto
     * @return
     */
    List<Map<String, Object>> projectStatistics(MaterialStatisticsDto materialStatisticsDto);


    /**
     * 项目统计 - 明细
     *
     * @param materialStatisticsDto
     * @return
     */
    List<Map<String, Object>> projectDetailsList(MaterialStatisticsDto materialStatisticsDto);

    /**
     * 类别统计
     *
     * @param materialStatisticsDto
     * @return
     */
    List<Map<String, Object>> commodityTypeStatistics(MaterialStatisticsDto materialStatisticsDto);


    /**
     * 类别统计 明细
     *
     * @param materialStatisticsDto
     * @return
     */
    List<Map<String, Object>> commodityTypeDetailsList(MaterialStatisticsDto materialStatisticsDto);

    /**
     * 商品统计
     *
     * @param materialStatisticsDto
     * @return
     */
    List<Map<String, Object>> commodityStatistics(MaterialStatisticsDto materialStatisticsDto);


    /**
     * 调入明细
     *
     * @param materialStatisticsDto
     * @return
     */
    List<Map<String, Object>> transferDetails(MaterialStatisticsDto materialStatisticsDto);

    /**
     * @Author Shaw
     * @Description 备货统计
     * @date: 2025-03-19 15:52
     * @param: //TODO
     */
    List<Map<String, Object>> stockAppDetails(MaterialStatisticsDto materialStatisticsDto);

    /**
     * @Author Shaw
     * @Description 备货统计导出
     * @date: 2025-03-19 15:52
     * @param: //TODO
     */
    List<StockStatisticsExport> exportStockAppDetails(StockStatisticsExport stockStatisticsExport);
}
